2018/1/15 新增Excel的資料,當時忘記給了
最近的作業要用python操作Excel,今天來介紹一下我用到的方法。
操作環境:Anaconda,Jupyter notebook
首先先用工作管理員開Anaconda prompt下這行指令來安裝pandaa
pip install pandas
在Jupyter上程式碼的部分
#把pandas import進來並簡寫為pd
import pandas as pd
# 用pandas的read_excel('你的Excel檔名加副檔名')來讀Excel的東西,然後丟給df這data frame。df就想成是在程式裡我們已經抓到的Excel資料
df = pd.read_excel('TEST.xlsx')
我要根據Excel第2行來決定第1行的內容,以下透過for迴圈操作
i=0;
catch=''
# df.地址,在read_excel()進來時,第一列就會被當成他的屬性。所以df.地址就抓到地址這一行
#接著把地址這行的資料一個一個餵給catch,注意如果吃到的是空格的話會被視為float的type(不能用來iterable)
for catch in df.地址:
try:
#如果抓到的字串有'台中市'三個字的話,回傳true給validate
validate='台中市' in catch
except:
print(i)
i+=1
continue
if(validate):
#df.iloc[x,y]可以抓到Excel表上某個位置。也可以直接改值,不過最後還是要存檔不然只會留在程式裡。
df.iloc[i,0]='台中'
else:
df.iloc[i,0]='其他'
i+=1
# df的to_excel('檔名加副檔名',sheet_name='Excel表的名稱')可以讓你把修改後的資料放進Excel,檔名也可以用同一個Excel做更新
df.to_excel('TEST_result.xlsx',sheet_name='sheet1')
有關iloc[a,b]指的位置:
結果:
Excel資料
TEST.xlsx
分類 地址
407台中市西屯區台灣大道四段1727號
407台中市西屯區文華路100號
701台南市東區大學路1號
433台中市沙鹿區台灣大道七段200號
811高雄市楠梓區高雄大學路700號
10617台北市大安區羅斯福路四段1號
403台中市西區向上北路